/*
Kiwi Editor is a framework for building WYSIWYG web editors.
Copyright (C) 2011  Roosevelt de Lima Sardinha

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

Contact the author at roosevelt1@gmail.com (Roosevelt) 
*/

function request(){
	this.url = location.protocol + "//" + location.hostname + ":" + location.port + "/"

    function getXmlHttpObject(){
        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            return new XMLHttpRequest();
        }
        if (window.ActiveXObject) {
            // code for IE6, IE5
            return new ActiveXObject("Microsoft.XMLHTTP");
        }
        return null;
    }
    
    this.xmlhttp = getXmlHttpObject();
	
    this.sendSincRequest = function(method, params, url, callback){
        this.xmlhttp.open(method, this.url + url, false);
	
		if (method == "POST") {
			var strParams =	'';
			var counter = 0;
			for(var key in params){
				if (key != 'apply' && key != 'find') {
					strParams += key + '=' + escape(params[key]) + '&';
				}
			}
			
			
			strParams = strParams.slice(0,strParams.lastIndexOf('&'));
			this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			this.xmlhttp.setRequestHeader("Accept", "text/javascript");		
			this.xmlhttp.send(strParams);
		}
		
		if (method == "GET"){
			this.xmlhttp.setRequestHeader("Accept", "text/javascript");
			this.xmlhttp.send();
		}	
		callback(this.xmlhttp.responseText);	
    }
}
